Symbols formed by handwriting, when traced on an electronic tablet, are represented by sequences of x-y coordinate pairs. A fundamental unit of handwriting is the stroke. A stroke is considered as a sequence of points, represented by their respective x-y coordinates. As employed herein a stroke is considered to be the writing that occurs from a pen-down to a pen-up condition of a handwriting input device. Symbols, such as letters of the alphabet and numbers, are assemblages of such strokes.
Many on-line, handwriting recognition systems employ curve matching methods to match an unknown character against prototype, or template, characters. Examples of such systems are described in the following articles: W. Doster and R. Oed, "Word processing with on-line script recognition", IEEE Micro, Vol. 4, pp. 36-43, October 1984; K. Ikeda, T. Yamamura, Y. Mitamura, S. Fujiwara, Y. Tominaga, and T. Kiyono, "On-line recognition of handwritten characters utilizing positional and stroke vector sequences", Proc. 4th Int. Jt. Conf. Pattern Recognition, pp. 813-815, November 1978; C. C. Tappert, "Adaptive on-line handwriting recognition", Proc. 7th Int. Conf. Pattern Recognition, pp. 1004-1007, 1984; C. C. Tappert, "Speed, accuracy, flexibility trade-offs in on-line character recognition", IBM Research Report RC 13228, October 1987; and T. Wakahara and M. Umeda, "Stroke-number and stroke-order free on-line character recognition by selective stroke linkage method", Proc. 4th ICTP, pp. 157-162, 1983. In general, the recognition accuracy of such prototype-based handwriting recognition systems is a function of the quality of the prototypes.
Many online, handwriting recognition systems use elastic curve matching to match an unknown character against prototype (template) characters. Examples of such systems are described in the following articles: T. Fujisaki, T. E. Chefalas, J. Kim, and C. C. Tappert, "Online recognizer for runon handprinted characters", Proc. 10th Int. Conf. Pattern Recognition, pp. 450-454, June 1990; K. Ikeda, T. Yamamura, Y. Mitamura, S. Fujiwara, Y. Tominaga, and T. Kiyono, "Online recognition of handwritten characters utilizing positional and stroke vector sequences", Proc. 4th Int. Conf. Pattern Recognition, pp. 813-815, November 1978; C. C. Tappert, "Adaptive online handwriting recognition", Proc. 7th Int. Conf. Pattern Recognition, pp. 1004-1007, 1984. Such systems usually represent each way of writing a character by a single prototype that usually is one writing of the character. This minimizes the number of prototypes and therefore the computation time for matching. The recognition system of T. Fujisaki et al, above, collects original character prototypes from a user's writing samples through a training scenario. Averaged prototypes are formed by averaging original character prototypes of the same label and shape (within a match threshold). For example, similarly-shaped A's are averaged to yield an averaged A prototype.
An article by T. E. Chefalas and C. C. Tappert, "Improved prototype establishment in a handwriting recognition system", IBM Tech. Disclosure Bulletin, Vol. 33, p. 420, January 1991 describes global and incremental averaging techniques for online handwriting recognition.
An article by J. M. Kurtzberg and C. C. Tappert, "Symbol Recognition System By Elastic Matching" IBM Tech. Disclosure Bulletin, Vol. 24, No. 6, pp. 2897-2902, November 1981, describes a technique for utilizing elastic matching to recognize symbols.
An article by C. C. Tappert, "Cursive Script Recognition System By Elastic Matching", IBM Tech. Disclosure Bulletin, Vol. 24, No. 11A, pp. 5404-5407 describes a technique for utilizing elastic matching to recognize cursive script.
An important consideration is a total number of prototypes in a prototype set. As can be appreciated, the larger the number of prototypes, the greater is the amount of time required to examine the prototype set to identify those that most nearly match an input assemblage of strokes. In general, the speed of recognition is inversely proportional to the number of prototypes in the prototype set. Also, the larger the number of prototypes the greater is the amount of memory required to store the set. A reduction in processing time and memory requirements is an important consideration in many applications, particularly in portable, battery operated handwriting input devices and/or in portable computers that employ a handwriting user interface.
A further consideration is the ease and accuracy of a transition from a system-supplied, generic set of starter symbol prototypes to a more accurate set of working prototypes that are customized, during a training session, to the handwriting characteristics of a particular user. The set of starter symbol prototypes may be designed by experts in handwriting recognition and is, by definition, robust and free of aberrant symbols (mavericks). The set of starter symbols often contains a number of possible representations of each symbol. By example, three different prototypes of the uppercase letter "A" may be provided so as to cover the case of an "A" printed with one continuous stroke, with two strokes, or with three strokes. Other forms of the letter "A" prototype may also be provided to cover different variations in stroke order and direction. As can be realized, if a given user consistently forms the letter "A" with three stokes, and consistently uses the same stroke order and direction, then the alternate "A" symbol starter prototypes are superfluous.
It is thus an object of this invention to provide methods for accurately evolving from a starter set of symbol prototypes to a working set of user-specific symbol prototypes.
It is another object of the invention to provide methods for automatically replacing a set of starter symbol prototypes with user symbol prototypes through a training operation, wherein an identity of input characters is known beforehand.
It is a further object of the invention to provide methods for accurately evolving from a starter set of symbol prototypes to a working set of user-specific symbol prototypes, and to also eliminate starter symbol prototypes from the set of working prototypes so as to reduce a total number of prototypes in the prototype set.